package com.example.ranking.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.ranking.domain.dto.PetPopularRespDTO;

/**
 * 排行榜业务接口（核心：人气榜查询、统计数据刷新）
 */
public interface RankingService {

    /**
     * 分页查询宠物人气榜（按数量降序）
     * @param pageNum 页码（默认1）
     * @param pageSize 每页条数（默认10）
     * @return 分页人气榜结果（含品种、数量、排名）
     */
    IPage<PetPopularRespDTO> getPetPopularRanking(Integer pageNum, Integer pageSize);

    /**
     * 刷新人气榜统计数据（从pet-info-service获取最新状态，更新到本地表）（TODO：淘汰了）
     * @return 刷新结果（true-成功，false-失败）
     */
    Boolean refreshPopularRanking();

    /**
     * 全量初始化人气榜统计（启动时执行，查询pet_info表状态3/4的品种数量）
     * @return 初始化结果（true-成功）
     */
    Boolean initPopularRanking();
}
